Remove self-hosted credentials from keychain when the site is removed #19756
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.

Description
Since the beginning, we have stored credentials for self-hosted sites in the keychain but don't delete them when the site is removed. This PR fixes that by wiping the stored credentials on the
Blog'sprepareForDeletion.I've checked the file history to see if there's a specific edge case we tried to work around by not removing the credentials, but I couldn't find any. I've also smoke-tested the app, and it works fine.
To test
There's no way to test this manually without modifying the source code. Before running the app on the Simulator, add this debug code on the
WordPressAppDelegate#willEnterForeground.<<DEBUG>> ✅ Password is not found for username: ...Regression Notes
Potential unintended areas of impact
Should be none.
What I did to test those areas of impact (or what existing automated tests I relied on)
Manually tested the changes.
What automated tests I added (or what prevented me from doing so)
N/A
PR submission checklist:
RELEASE-NOTES.txtif necessary.